home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / pc / files / dsp / srffttar.z / srffttar / SRFFT / fftime.c < prev    next >
C/C++ Source or Header  |  1991-08-26  |  832b  |  40 lines

  1. /*
  2.  * fftime.c - time the FFT routine.
  3.  *
  4.  * link this code with your favourite version of fft().
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include <time.h>
  9.  
  10. #define MAXFFTSIZE 4096
  11.  
  12. short x[MAXFFTSIZE], qf[MAXFFTSIZE], xback[MAXFFTSIZE];
  13.  
  14. main()
  15. {
  16. int i, j;
  17. long t1, t2, t3, t4;
  18.  
  19.     srand(time(0));
  20.     printf("Generating data set...\n");
  21.     for (i = 0; i < MAXFFTSIZE;) xback[i++] = rand();
  22.  
  23. /* measure the buffer copy and loop time */
  24.     time(&t1);
  25.     for (j = 0; j < 1000; j++)
  26.         for (i = 0; i < MAXFFTSIZE; i++) x[i] = xback[i];
  27.     time(&t2);
  28.  
  29. /* measure the fft() time plus the buffer copy and loop time */
  30.     printf("Timing fft(), looping 1,000 times...\n");
  31.     time(&t3);
  32.     for (j = 0; j < 1000; j++) {
  33.         for (i = 0; i < MAXFFTSIZE; i++) x[i] = xback[i];
  34.         fft();
  35.     }
  36.     time(&t4);
  37.  
  38.     printf("Each fft() call took %d milli-seconds\n", ((t4 - t3) - (t2 - t1)));
  39. }
  40.